In recent years there has been substantial growth in the use of disk drive arrays for storing large quantities of electronic data for computer systems. A disk array typically comprises a set of direct access storage devices (DASDS) such as hard disk drives (HDDS) acting in concert connectable to a host computer system. The disk array is managed by software either residing wholly or partially on the host system or in a separate array controller. A disk array is designed to provide high capacity data storage, high reliability and high data transfer rates to and from the host computer system.
Application programs running on a host system issue requests to access data stored on the storage devices which are routed through an I/O bus adapter. An I/O bus itself is the medium in which host commands, disk responses, and data are moved between adapters and the storage devices. A disk controller connects a host computer's I/O bus to the storage device I/O bus through a bus adapter channel. Examples of I/O buses are the Small Computer Storage Interconnect (SCSI), the Serial Storage Architecture (SSA), and the Fibre Channel Arbitrated Loop (FC-AL).
Storage subsystems also include power converters. Power from commercial AC power sources needs to be converted to DC power and further converted to supply the amount of power needed for the HDDs as well as cooling fans also provided in the subsystem. Typically redundancy is required in all aspects of the storage system, including the HDDs as well as fans and power converter systems.
Customers using storage subsystems often require incremental growth of the storage capacity of the system. That is, a customer's computer system may start out only needing a certain limited amount of data storage capacity. But, after continuous use and as the customer's enterprise activity grows, the customer may need to be consistently increasing the amount of data storage capacity available to the computer system.
At the same time, customers are also concerned about the amount of floor space used by the data storage system and how that floor space corresponds to the amount of storage capacity actually being used. It is not desirable for customers to spend more money or make available more floor space than the amount of storage capacity that is currently required. However, it is also not desirable to purchase completely new systems as the enterprise's storage needs grow.
One approach to anticipating an enterprise's ultimate storage needs is to use a storage subsystem which incorporates a rack enclosure which can accommodate a fixed number of drawers of HDDs. A customer can start out with two or three drawers of HDDs and continually add drawers as additional storage capacity is required. However, such a solution does not minimize the floor space that is required to accommodate a rack type enclosure that ultimately includes ten or twenty drawers. That is, a maximum size enclosure solves the problem of incremental growth but introduces other considerations for the customer and storage vendor. Using this approach also results in a higher dollar per mega byte for a minimum configuration. This is caused by the upfront hardware costs associated with the enclosure cables, back planes and power systems needed for incremental growth.
Customers also require that the storage subsystems be continually available. Therefore, there is a need for a storage system where the storage capacity can be incrementally increased without disrupting the customers access to the data currently being stored on the system.